home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 52
/
Amiga Format AFCD52 (Issue 136, May 2000).iso
/
-screenplay-
/
shareware
/
solitarexx
/
scripts
/
triples.srx
< prev
next >
Wrap
Text File
|
2000-02-29
|
1KB
|
78 lines
/*******************************\
** Triples v1.0 for Solitarexx **
** by Michal Szafranski **
\*******************************/
OPTIONS RESULTS
tex = '"Triples"'
win = '"We Have a Winner"'
seq = '0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 E E'
ADDBUTTON 0 10 "Start"
ADDTEXT 4 42 tex 6
ADDBUTTON 12 10 "Abort"
ADDTEXT 14 42 tex 6
SELECTGUI 1
SCREENSIZE 4 0 5 10
DO i = 0 TO 17
NEWSTACK 0 1 0 (i//5) (i%5) 2*(i//5) 0 2
stack.i = RESULT
END
NEWSTACK 20 0 1 4 3 10
deck = RESULT
ADDCARDS deck SHUFFLED
DO FOREVER
ACTION
PARSE VAR RESULT act rest
IF act = 1 THEN EXIT
IF act = 3 THEN CALL GAME
END
GAME:
SELECTGUI 4
SETGADGET 14 STR tex
sel1 = 0
sel2 = 0
CLEANUP deck
count = 0
ile. = 3
ile.16 = 2
DO i = 0 TO 17
CARDSELECT deck ile.i
MOVECARDS deck stack.i REVERSE
END
DO FOREVER
ACTION
PARSE VAR RESULT act stack sid card
IF act = 1 THEN EXIT
IF act = 2 THEN SELECT
WHEN sid > 19 | card = 0 THEN ERRBEEP
WHEN sel1 = 0 THEN sel1 = stack
WHEN sel2 = 0 THEN sel2 = stack
OTHERWISE CALL DOSTACKS
END
IF act = 3 THEN DO
SELECTGUI 1
RETURN
END
END
RETURN
DOSTACKS:
CARDSELECT sel1 1
PARSE VAR RESULT xx wara xx
CARDSELECT sel2 1
PARSE VAR RESULT xx warb xx
CARDSELECT stack 1
PARSE VAR RESULT xx warc xx
IF FIND(seq,wara warb warc)>0 THEN DO
MOVECARDS sel1 deck
MOVECARDS sel2 deck
MOVECARDS stack deck
count = count +1
IF count = 17 THEN SETGADGET 14 STR win
END
ELSE ERRBEEP
sel1 = 0
sel2 = 0
RETURN